fix: mvebu_ comphy: Update COMPHY sequence number
authorKonstantin Porotchkin <[email protected]>
Wed, 19 Apr 2017 10:37:59 +0000 (13:37 +0300)
committerStefan Roese <[email protected]>
Tue, 9 May 2017 11:38:18 +0000 (13:38 +0200)
Use local static counter for maintaining the COMPHY chip-ID
upon its initialization.
The dev->seq originally used as the COMPHY chip-ID depends
on the device tree scan order and produces wrong results
that breaks the deficated PHYs init flow, which in turn
breaks the USB support.

Change-Id: I4e3f7ec36590a7f95dc94d9269a3c47fb708c4a9
Signed-off-by: Konstantin Porotchkin <[email protected]>
Cc: Stefan Roese <[email protected]>
Cc: Igal Liberman <[email protected]>
Cc: Stefan Chulski <[email protected]>
Cc: Nadav Haklai <[email protected]>
Reviewed-by: Stefan Roese <[email protected]>
drivers/phy/marvell/comphy_core.c

index caa1928f07dccd6a5113486766cf01581f44e873..7729e4be669c78527a81f47a731b0e1372ae9a44 100644 (file)
@@ -113,6 +113,7 @@ static int comphy_probe(struct udevice *dev)
        int subnode;
        int lane;
        int last_idx = 0;
+       static int current_idx;
 
        /* Save base addresses for later use */
        chip_cfg->comphy_base_addr = (void *)dev_get_addr_index(dev, 0);
@@ -175,7 +176,7 @@ static int comphy_probe(struct udevice *dev)
        }
 
        /* Save comphy index for MultiCP devices (A8K) */
-       chip_cfg->comphy_index = dev->seq;
+       chip_cfg->comphy_index = current_idx++;
        /* PHY power UP sequence */
        chip_cfg->ptr_comphy_chip_init(chip_cfg, comphy_map_data);
        /* PHY print SerDes status */